Function Types এবং Anonymous Functions

Mobile App Development - কটলিন (Kotlin) - Lambda এবং Higher-order Functions
243

Function Types এবং Anonymous Functions

কটলিনে Function Types এবং Anonymous Functions ফাংশনাল প্রোগ্রামিংয়ের গুরুত্বপূর্ণ কনসেপ্ট। এগুলো কোডের পুনঃব্যবহারযোগ্যতা এবং ফ্লেক্সিবিলিটি বাড়ায়। নিচে এই দুইটি বিষয়ে বিস্তারিত আলোচনা করা হলো।


১. Function Types

Function Types কটলিনে একটি ফাংশনের সিগনেচারকে বোঝায়, যেখানে ফাংশনের ইনপুট প্যারামিটার এবং আউটপুট টাইপ উল্লেখ করা হয়। কটলিনে একটি ফাংশনের টাইপ উল্লেখ করতে, আপনি প্যারামিটারগুলোর টাইপ এবং রিটার্ন টাইপের মধ্যে -> ব্যবহার করেন।

উদাহরণ:

kotlin

Copy code

val sum: (Int, Int) -> Int = { a, b -> a + b }

ব্যাখ্যা:

  • এখানে sum একটি function type, যা দুটি Int প্যারামিটার নেয় এবং একটি Int রিটার্ন করে।

Function Types এর Syntax

val functionName: (ParameterType1, ParameterType2, ...) -> ReturnType

২. Function Types এর ব্যবহার

Function types সাধারণত higher-order functions এ ব্যবহৃত হয়, যেখানে একটি ফাংশন অন্য ফাংশনকে প্যারামিটার হিসেবে গ্রহণ করে বা একটি ফাংশনকে রিটার্ন করে।

উদাহরণ:

fun calculate(a: Int, b: Int, operation: (Int, Int) -> Int): Int {
    return operation(a, b)
}

fun main() {
    val result = calculate(5, 3) { x, y -> x * y }
    println(result) // আউটপুট: 15
}

ব্যাখ্যা:

  • এখানে calculate একটি higher-order function, যা দুটি সংখ্যা এবং একটি ফাংশন প্যারামিটার হিসেবে গ্রহণ করছে। operation ফাংশনটি ইনপুট সংখ্যা দুটির উপর কার্যকর হবে।

৩. Anonymous Functions

Anonymous Functions হলো এমন ফাংশন যেগুলোর কোন নাম নেই এবং এগুলো সাধারণত lambda expressions-এর চেয়ে বেশি কার্যকরী। আপনি যখন একটি নতুন ফাংশন তৈরি করতে চান কিন্তু তা একটি ভ্যারিয়েবলে সংরক্ষণ করতে চান না, তখন anonymous functions ব্যবহার করা হয়।

Syntax:

val functionName: (ParameterType1, ParameterType2, ...) -> ReturnType = fun(parameter1: ParameterType1, parameter2: ParameterType2, ...) {
    // Function body
}

উদাহরণ:

val multiply: (Int, Int) -> Int = fun(a: Int, b: Int): Int {
    return a * b
}

fun main() {
    println(multiply(3, 4)) // আউটপুট: 12
}

ব্যাখ্যা:

  • এখানে multiply একটি anonymous function যা দুটি Int সংখ্যা গ্রহণ করে এবং তাদের গুণফল রিটার্ন করে।

৪. Anonymous Functions with Return Types

Anonymous functions-এ আপনি রিটার্ন টাইপ নির্দিষ্ট করতে পারেন।

উদাহরণ:

val add: (Int, Int) -> Int = fun(x: Int, y: Int): Int {
    return x + y
}

fun main() {
    println(add(2, 3)) // আউটপুট: 5
}

ব্যাখ্যা:

  • এখানে add একটি anonymous function যা দুটি সংখ্যা যোগ করে এবং রিটার্ন করে।

৫. Differences between Lambda Expressions and Anonymous Functions

বৈশিষ্ট্যLambda ExpressionsAnonymous Functions
নামনামহীননামহীন
Syntax{ parameters -> body }fun(parameters): ReturnType { body }
Return TypeReturn type স্বয়ংক্রিয়ভাবে নির্ধারণ হয়Return type নির্দিষ্ট করতে হয়
Functional Typeসর্বদা Function TypesFunction Types হতে পারে
return Keywordreturn ব্যবহার করলে বাইরের ফাংশনে যায়return ব্যবহার করলে শুধুমাত্র নিজস্ব ফাংশনে যায়

উপসংহার

কটলিনে Function Types এবং Anonymous Functions শক্তিশালী কনসেপ্ট, যা কোডের পুনঃব্যবহারযোগ্যতা এবং ফ্লেক্সিবিলিটি বাড়ায়। Function types কেবল ফাংশনের সিগনেচারকে বোঝায়, যেখানে anonymous functions নামহীন ফাংশন তৈরির একটি উপায়। এই ফিচারগুলো ফাংশনাল প্রোগ্রামিংয়ের সুবিধা গ্রহণ করতে সহায়ক।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...